﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EzDesk.Core.Model;

namespace EzDesk.Core.ServiceImpl.Repositories.Interface
{
    public interface IFeedRepository : IRepository<Feed>
    {
        void AddUserToFeed(Guid userId, Guid feedId, int feedType, string feedDataEx, DateTime feedCreateOn,
                           bool saveChanges = false);
        bool UpdatePersonalFeedData(Guid userId, Guid feedId, string feedDataEx, bool saveChanges = false);
        bool UpdatePersonalFeedType(Guid userId, Guid feedId, int feedType, bool saveChanges = false);
        IQueryable<Feed> GetByUser(Guid userId, bool? isRead, bool? isAvailable, bool? isMark);
        void SetIsAvailable(Guid feedId, Guid recipientId, bool isAvailable, bool saveChanges);
        void SetIsRead(Guid feedId, Guid recipientId, bool isRead, bool saveChanges);
        void SetIsMark(Guid feedId, Guid recipientId, bool isMark, bool saveChanges);
        string GetPersonalFeedData(Guid userId, Guid feedId);
    }
}
